home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO079B.dsk
/
IIC
/
IIC.05.MEM.EXPN.txt
< prev
next >
Wrap
Text File
|
2012-02-16
|
4KB
|
99 lines
Apple II
Technical Notes
_____________________________________________________________________________
Developer Technical Support
Apple IIc
#5: Memory Expansion on the Apple IIc
Revised by: Matt Deatherage November 1988
Written by: Cameron Birse October 1986
This Technical Note describes some important differences in the "memory-
expandable" Apple IIc which you should take into account to ensure
compatibility.
_____________________________________________________________________________
Beginning with the third Apple IIc, which was announced in September 1986, all
new IIc models differ significantly from their predecessors. The most notable
of these differences is the addition of a memory expansion capability. The
memory expansion card for the IIc is functionally identical to the card for
the IIe, but the IIc card "lives" in slot 4 and the firmware is included in
the ROM on the IIc motherboard. This architecture means that you cannot
depend upon the firmware ID bytes to tell if a card is installed, since unlike
other "peripheral cards" in the IIc, the memory expansion card is not
necessarily present. For this particular case, you need to interrogate the
card and see how many blocks of memory are available. If there are no
available blocks, there is no card.
SmartPort
Do a STATUS call with a statcode = $03 to get the Device Information Block
(DIB). This call returns a value of $000000 in the device size fields if
there is no RAM card.
In version 3 of the IIc ROM, the value resulting from a status call to device
0 implies that there is always a real card connected; the ROM version 4
returns device connected only when there is RAM card present.
ProDOS
When you do an ON_LINE call to the ProDOS MLI and there is no RAM on the
Memory Expansion Card, you get an error $2D. This error is not a ProDOS
error, rather it is a SmartPort error. The error is BADBLOCK, and basically
tells you that the block requested was not available. If you try to catalog
the RAM disk from BASIC, you will get a PATH NOT FOUND error.
Pascal
Formatting the RAM disk (unit #9) with no memory on the card returns no error.
Doing a UnitStatus call will return zero blocks available, and trying to read
the volume directory will result in an IORESULT of 8, which means no room is
available on the volume. Doing the V(ols command from the F(iler will result
in a <no dir> and # of blocks = 0.
DOS 3.3
If there is no memory on the card and you initialize it with an IN#4 (which
returns a slash, appearing to have successfully initialized the RAM disk), you
will get an I/O error (ONERR code = 8) if you try to read from or write to the
RAM disk.
Important: Another significant ramification of the memory
expansion capability is that the mouse firmware has been
moved to slot 7. This change means that programs should
scan the slots just as they would on a IIe to find what
peripherals are installed. Since most programs have a scan
routine in them for the IIe, it should be a relatively minor
change to call this routine for whatever machine you are on.
In fact, we strongly recommend that programs always scan the
slots for peripheral devices regardless of the machine on
which they are running.
The firmware ID bytes for this version of the machine are:
Original Expandable IIc
$FBB3--$06 $FBC0--$00 $FBBF--$03
Revised Expandable IIc
$FBB3--$06 $FBC0--$00 $FBBF--$04
Apple IIc Plus
$FBB3--$06 $FBC0--$00 $FBBF--$05
Further Reference
o Apple IIc Technical Note #6, Buffering Blues
o Apple IIc Technical Note #7, Existing Versions
o Apple II Miscellaneous Technical Note #2, Apple II Family
Identification Routines 2.1
o Apple II Miscellaneous Technical Note #7, Apple II Family Identification
o Apple II Miscellaneous Technical Note #8, Pascal 1.1 Firmware
Protocol ID Bytes